package repository

import "cvevulner/cve-ddd/domain"

type Option struct {
	CveNum    []string
	Component string
}

type CveRepository interface {
	FindCves(option Option) (domain.Cves, error)
	MaxBulletinID() (string, error)
	IssueNumExist(num string) bool
	SaveIssueNum(num string) error
	GetAllIssue() (data domain.CollectedDataSlice, err error)
	SetIgnoreStatus(id int64) error
	GetAllPackage() (list []string, err error)

	AddCallback(domain.Callback) error
	UpdateCallback(domain.Callback) error
	GetProcessingCallback() ([]domain.Callback, error)
	SaveCollectResult(r domain.CollectResult) error
	FindCollectResult(branch, callbackDate string) (string, error)
}
